package com.swak.persistence.mybatis.methods.impls;

import com.swak.persistence.mybatis.methods.Sqls;
import com.swak.utils.StringUtils;

/**
 * 插入
 * 
 * @author lifeng
 * @date 2021年1月22日 上午9:10:32
 */
public class Insert extends BatchInsert {

    @Override
    protected void doInject() {
    	if (!this.supportMethod(Sqls.INSERT)) {
			return;
		}
    	
        String sql = new StringBuilder().append(INSERT).append(SPACE).append(this.table.getName()).append(LEFT_BRACKET)
            .append(this.parseSqlColumns()).append(RIGHT_BRACKET).append(SPACE).append(VALUES).append(LEFT_BRACKET)
            .append(this.parseInsertSqlProperty()).append(RIGHT_BRACKET).toString();

        this.addInsertMappedStatement(this.table.entity, Sqls.INSERT.getMethod(), sql);
    }

    /**
     * insert 后面的属性值
     * 
     * @param <T>
     * @param table
     * @return
     */
    protected String parseInsertSqlProperty() {
        return this.parseInsertSqlPropertyWithPrex(StringUtils.EMPTY);
    }

}